Splitting Content Channels

ABSTRACT

A method for splitting content channels is disclosed. The method includes identifying, by a processing device of a content sharing platform, result channels originating from a target channel of the content sharing platform, wherein each of the result channels corresponds to a set of users of the target channel that view a similar set of content items from the target channel. The method may further include, for each of the result channels, subscribing, by the processing device to the result channel, the set of users that corresponds to the result channel, and associating, by the processing device to the result channel, the set of the content items of the target channel that corresponds to the subscribed set of users of the result channel.

PRIORITY CLAIM TO RELATED APPLICATION

This application claims the benefit under 35 U.S.C. §119(e) of U.S.Patent Provisional Application No. 61/944,495, filed on Feb. 25, 2014,the entirety of which is incorporation herein by reference.

CROSS-REFERENCE TO RELATED APPLICATION

The present application is related to co-filed U.S. patent applicationSer. No. ______ entitled “Merging Content Channels” (attorney docketnumber 25832.439 (L439)), which is assigned to the assignee of thepresent application.

TECHNICAL FIELD

This disclosure relates to the field of content sharing platforms and,in particular, to splitting content channels.

BACKGROUND

On the Internet, social networks allow users to connect to and shareinformation with each other. Many social networks include a contentsharing aspect that allows users to upload, view, and share content,such as video content, image content, audio content, and so on (whichmay be collectively referred to as “media items” or “content items”).Such media items may include audio clips, movie clips, TV clips, andmusic videos, as well as amateur content such as video blogging, shortoriginal videos, pictures, photos, other multimedia content, etc. Usersmay use computing devices (such as smart phones, cellular phones, laptopcomputers, desktop computers, netbooks, tablet computers) to use, play,and/or consume media items (e.g., watch digital videos, and/or listen todigital music).

The content sharing platform can include one or more channels or one ormore channels can be viewable over the Internet. A channel is amechanism for providing certain media items and/or for providing accessto media items to subscribers. Media items for the channel can beselected by a user, uploaded by a user, selected by a content provider,or selected by a broadcaster. Users can subscribe to one or morechannels. When the content of a channel is optimized (e.g., focused orspecialized) for a coherent audience of users, users of the contentsharing platform are more likely to keep watching content items of thechannel and/or to subscribe to the channel.

SUMMARY

The following is a simplified summary of the disclosure in order toprovide a basic understanding of some aspects of the disclosure. Thissummary is not an extensive overview of the disclosure. It is intendedto neither identify key or critical elements of the disclosure, nordelineate any scope of the particular implementations of the disclosureor any scope of the claims. Its sole purpose is to present some conceptsof the disclosure in a simplified form as a prelude to the more detaileddescription that is presented later.

In one implementation, a method for splitting content channels isdisclosed. The method includes identifying, by a processing device,result channels originating from a target channel, wherein each of theresult channels corresponds to a set of users of the target channel thatview a similar set of content items from the target channel. The methodmay further include, for each of the result channels, subscribing, bythe processing device to the result channel, the set of users thatcorresponds to the result channel, and associating, by the processingdevice to the result channel, the set of the content items of the targetchannel that corresponds to the subscribed set of users of the resultchannel.

In one implementation, the method also includes mapping the users of thetarget channel to the content items of the target channel that the usershave viewed, grouping the users into the sets of users in view of aprobability that the users viewed the similar set of the content items,and when each of the grouped sets of users exceeds a threshold level ofusers, correlating each of the grouped sets of users to a correspondingone of the result channels. The threshold level of users may include atleast a number of users or a percentage of users.

In some implementations, the method further includes for each resultchannel, updating feeds of the corresponding set of users of the resultchannel to reflect the result channel. In addition, the updating mayfurther include, for each user of the set of users, removing feed itemscorresponding to the target channel; and replacing the feed itemscorresponding to the target channel with feed items of the resultchannel. In addition, the identifying may further include suggesting toan owner of the target channel that the target channel be split into theresult channels, and receiving confirmation from the owner to proceedwith splitting the target channel into the result channels.

In other implementations, the method includes, for each result channel,automatically generating a user interface (UI) for the result channelutilizing UI elements of the target channel, wherein at least a portionof the UI elements correspond to the set of content items correspondingto the result channel. In addition, the sets of content itemscorresponding to result channels at least partially overlap. In someimplementations, the target channel may include content items of thecontent sharing platform having at least one of a common topic, theme,or substance. Furthermore, the target channel may include content itemsof the content sharing platform having a common source.

In additional implementations, computing devices for performing theoperations of the above described implementations are also disclosed.Additionally, in implementations of the disclosure, a computer readablestorage media stores methods for performing the operations of the abovedescribed implementations.

BRIEF DESCRIPTION OF THE DRAWINGS

The present disclosure is illustrated by way of example, and not by wayof limitation, in the figures of the accompanying drawings.

FIG. 1 illustrates an example system architecture, in accordance withone implementation of the disclosure.

FIG. 2 is a block diagram illustrating a channel split component inaccordance with one implementation of the disclosure.

FIG. 3 is a flow diagram illustrating a method for suggesting a split ofa target channel according to some implementations of the disclosure.

FIG. 4 is a flow diagram illustrating a method for splitting a targetchannel, according to an implementation of the disclosure.

FIG. 5 is a flow diagram illustrating a method for interacting with achannel owner of a target channel at a client device with respect tosplitting the target channel, according to an implementation of thedisclosure.

FIG. 6 is a block diagram illustrating an exemplary computer system,according to some implementations.

DETAILED DESCRIPTION

Implementations are described for splitting content channels. A contentsharing platform may include multiple channels. A channel can be anassemblage of data content available from a common source, or datacontent having a common topic, theme, or substance. Content creators onthe content sharing platform may have multiple channels that theypublish content to, or they may have one channel that contains all oftheir published content. Optimizing the content of a channel so that istargets a coherent audience of users results in users that are morelikely to keep watching content of the channel and that are more likelyto subscribe to the channel. If a channel includes content that crossesmultiple genres, it may be less appealing to a viewer because thatviewer might like one genre of video on the channel and not another. Asa result, the overall value of the channel is diluted for the user.

Implementations of the disclosure enable an existing channel (“targetchannel”) of a content sharing platform to be split into two or morechannels. The set of channels (“result channels”) that an existingchannel may be split into can be based on a distribution of users of theexisting channel over the content of the existing channel that the usersconsume. In some implementations, a UI component of the content sharingplatform recommends to the channel owner that the existing channel besplit. Once the channel owner approves and/or initiates a split of theexisting channel, content items from the existing channel to associatewith each result channel, as well as the set of users to subscribe toeach result channel, are identified. The result channels are thenprovided by the content sharing platform and include the identifiedcontent items and subscribed users. In some implementations, the feedsof the subscribed users are updated by removing the old feed items fromthe existing channel and replacing them with the appropriate new feeditems from the result channel(s) that the user is subscribed.

Previous implementations of content sharing platforms and/or socialnetworks do not provide a solution for splitting existing channels intomultiple resulting channels. As such, these previous implementations ofcontent sharing platforms and/or social networks are not able to providea solution to optimize channel content for a focused audience of users,and, as such, are limited in the ability to provide solutions forchannel owners to increase viewership of channels and increase affinitybetween users and channels.

FIG. 1 illustrates an example system architecture 100, in accordancewith one implementation of the disclosure, for splitting contentchannels of a content sharing platform. The system architecture 100includes client devices 110A through 110Z, a network 105, a data store106, a content sharing platform 120, and a server 130. In oneimplementation, network 105 may include a public network (e.g., theInternet), a private network (e.g., a local area network (LAN) or widearea network (WAN)), a wired network (e.g., Ethernet network), awireless network (e.g., an 802.11 network or a Wi-Fi network), acellular network (e.g., a Long Term Evolution (LTE) network), routers,hubs, switches, server computers, and/or a combination thereof. In oneimplementation, the data store 106 may be a memory (e.g., random accessmemory), a cache, a drive (e.g., a hard drive), a flash drive, adatabase system, or another type of component or device capable ofstoring data. The data store 106 may also include multiple storagecomponents (e.g., multiple drives or multiple databases) that may alsospan multiple computing devices (e.g., multiple server computers).

The client devices 110A through 110Z may each include computing devicessuch as personal computers (PCs), laptops, mobile phones, smart phones,tablet computers, netbook computers etc. In some implementations, clientdevice 110A through 110Z may also be referred to as “user devices.” Eachclient device includes a media viewer 111. In one implementation, themedia viewers 111 may be applications that allow users to view content,such as images, videos, web pages, documents, etc. For example, themedia viewer 111 may be a web browser that can access, retrieve,present, and/or navigate content (e.g., web pages such as Hyper TextMarkup Language (HTML) pages, digital media items, etc.) served by a webserver. The media viewer 111 may render, display, and/or present thecontent (e.g., a web page, a media viewer) to a user. The media viewer111 may also display an embedded media player (e.g., a Flash® player oran HTML5 player) that is embedded in a web page (e.g., a web page thatmay provide information about a product sold by an online merchant). Inanother example, the media viewer 111 may be a standalone applicationthat allows users to view digital media items (e.g., digital videos,digital images, electronic books, etc.).

The media viewers 111 may be provided to the client devices 110A through110Z by the server 130 and/or content sharing platform 120. For example,the media viewers 111 may be embedded media players that are embedded inweb pages provided by the content sharing platform 120. In anotherexample, the media viewers 111 may be applications that are downloadedfrom the server 130.

In general, functions described in one implementation as being performedby the content sharing platform 120 can also be performed on the clientdevices 110A through 110Z in other implementations if appropriate. Inaddition, the functionality attributed to a particular component can beperformed by different or multiple components operating together. Thecontent sharing platform 120 can also be accessed as a service providedto other systems or devices through appropriate application programminginterfaces, and thus is not limited to use in websites.

In one implementation, the content sharing platform 120 may be one ormore computing devices (such as a rackmount server, a router computer, aserver computer, a personal computer, a mainframe computer, a laptopcomputer, a tablet computer, a desktop computer, etc.), data stores(e.g., hard disks, memories, databases), networks, software components,and/or hardware components that may be used to provide a user withaccess to media items and/or provide the media items to the user. Forexample, the content sharing platform 120 may allow a user to consume,upload, search for, approve of (“like”), dislike, and/or comment onmedia items. The content sharing platform 120 may also include a website(e.g., a webpage) that may be used to provide a user with access to themedia items.

In implementations of the disclosure, a “user” may be represented as asingle individual. However, other implementations of the disclosureencompass a “user” being an entity controlled by a set of users and/oran automated source. For example, a set of individual users federated asa community in a social network may be considered a “user”. In anotherexample, a user may be an automated ingestion pipeline, such as a topicchannel, of the content sharing platform 120.

The content sharing platform 120 may include multiple channels (e.g.,channels A through Z). A channel can be data content available from acommon source or data content having a common topic, theme, orsubstance. The data content can be digital content chosen by a user,digital content made available by a user, digital content uploaded by auser, digital content chosen by a content provider, digital contentchosen by a broadcaster, etc. For example, a channel X can includevideos Y and Z. A channel can be associated with an owner, who is a userthat can perform actions on the channel. Different activities can beassociated with the channel based on the owner's actions, such as theowner making digital content available on the channel, the ownerselecting (e.g., liking) digital content associated with anotherchannel, the owner commenting on digital content associated with anotherchannel, etc. The activities associated with the channel can becollected into an activity feed for the channel. Users, other than theowner of the channel, can subscribe to one or more channels in whichthey are interested. The concept of “subscribing” may also be referredto as “liking”, “following”, “friending”, and so on.

Once a user subscribes to a channel, the user can be presented withinformation from the channel's activity feed. If a user subscribes tomultiple channels, the activity feed for each channel to which the useris subscribed can be combined into a syndicated activity feed.Information from the syndicated activity feed can be presented to theuser. Channels may have their own feeds. For example, when navigating toa home page of a channel on the content sharing platform, feed itemsproduced by that channel may be shown on the channel home page. Usersmay have a syndicated feed, which is a feed comprised of at least asubset of the content items from all of the channels to which the useris subscribed. Syndicated feeds may also include content items fromchannels that the user is not subscribed. For example, the contentsharing platform 120 or other social networks may insert recommendedcontent items into the user's syndicated feed, or may insert contentitems associated with a related connection of the user in the syndicatedfeed.

Each channel may include one or more media items 121. Examples of amedia item 121 can include, and are not limited to, digital video,digital movies, digital photos, digital music, website content, socialmedia updates, electronic books (ebooks), electronic magazines, digitalnewspapers, digital audio books, electronic journals, web blogs, realsimple syndication (RSS) feeds, electronic comic books, softwareapplications, etc. In some implementations, media item 121 is alsoreferred to as a media item.

A media item 121 may be consumed via the Internet and/or via a mobiledevice application. For brevity and simplicity, an online video (alsohereinafter referred to as a video) is used as an example of a mediaitem 121 throughout this document. As used herein, “media,” media item,”“online media item,” “digital media,” “digital media item,” “content,”and “content item” can include an electronic file that can be executedor loaded using software, firmware or hardware configured to present thedigital media item to an entity. In one implementation, the contentsharing platform 120 may store the media items 121 using the data store106.

In one implementation, the server 130 may be one or more computingdevices (e.g., a rackmount server, a server computer, etc.). In oneimplementation, the server 130 may be included in the content sharingplatform 120. The server 130 may include a channel split component 140.The channel split component 140 enables an existing channel (“targetchannel”) of the content sharing platform 120 to be split into two ormore channels. The set of channels (“result channels”) that an existingchannel may be split into can be based on a distribution of users of theexisting channel over what content of the existing channel that theusers consume.

In some implementations, a UI component of the content sharing platform120 recommends to the channel owner that the target channel be split.Once the channel owner approves and/or initiates a split of the targetchannel, content items from the target channel to associate with eachresult channel and the set of users to subscribe to each result channelare identified. The result channels are then launched on the contentsharing platform 120 to include the identified content items andsubscribed users. In some implementations, the feeds of the subscribedusers are updated by removing all of the old feed items from the targetchannel and replacing them with the appropriate new feed items from theresult channel(s) that the user is subscribed.

In some implementations, channel split component 140 of server 130 mayinteract with content sharing platform 120 and/or with other third partysocial network servers 150 to provide implementations of the disclosure.Further description of the channel split component 140 and its specificfunctions is described in more detail below with respect to FIG. 2.

Although implementations of the disclosure are discussed in terms ofcontent sharing platforms and promoting social network sharing of acontent item on the content sharing platform, implementations may alsobe generally applied to any type of social network providing connectionsbetween users. Implementations of the disclosure are not limited tocontent sharing platforms that provide channel subscriptions to users.

In situations in which the systems discussed here collect personalinformation about users, or may make use of personal information, theusers may be provided with an opportunity to control whether the contentsharing platform 120 collects user information (e.g., information abouta user's social network, social actions or activities, profession, auser's preferences, or a user's current location), or to control whetherand/or how to receive content from the content server that may be morerelevant to the user. In addition, certain data may be treated in one ormore ways before it is stored or used, so that personally identifiableinformation is removed. For example, a user's identity may be treated sothat no personally identifiable information can be determined for theuser, or a user's geographic location may be generalized where locationinformation is obtained (such as to a city, ZIP code, or state level),so that a particular location of a user cannot be determined. Thus, theuser may have control over how information is collected about the userand used by the content sharing platform 120.

FIG. 2 is a block diagram illustrating a channel split component 140 inaccordance with one implementation of the disclosure. In oneimplementation, the channel split component 140 includes a channel splitsuggestion module 210, a channel splitting module 220, and a channelsplit UI generation module 230. More or less components may be includedin the channel split component 140 without loss of generality. Forexample, two of the modules may be combined into a single module, or oneof the modules may be divided into two or more modules. In oneimplementation, one or more of the modules may reside on differentcomputing devices (e.g., different server computers, on a single clientdevice, or distributed among multiple client devices, etc.).

The channel split component 140 is communicatively coupled to the datastore 106. For example, the channel split component 140 may be coupledto the data store 106 via a network (e.g., via network 105 asillustrated in FIG. 1). In another example, the channel split component140 may be coupled directly to a server where the channel splitcomponent 140 resides (e.g., may be directly coupled to server 130). Thedata store 106 may be a memory (e.g., random access memory), a cache, adrive (e.g., a hard drive), a flash drive, a database system, or anothertype of component or device capable of storing data. The data store 106may also include multiple storage components (e.g., multiple drives ormultiple databases) that may also span multiple computing devices (e.g.,multiple server computers). The data store 106 includes content itemdata 290, user data 291, channel data 292, subscription data 293, andfeed data 294.

As discussed above, the channel split component 140 enables existingtaret channel of the content sharing platform 120 to be split into twoor more result channels. In one implementation, the channel splitsuggestion module 210 automatically determines when a target channel maysplit. There may be many reasons that may underlie splitting a channel.In one implementation, splitting a channel may positively enhance anaffinity score between the channel and its users. An affinity score mayrefer to a numerical quantification of a user's relationship withanother entity, such as a channel or another user, for example. The moreinterconnections (e.g., watches, likes, comments, tags, interactions,similar connections, etc.) between the user and the other entity (e.g.,channel, other user, etc.), the higher the affinity score.

In one implementation, a user's affinity score for a channel isgenerated by scoring the engagements (e.g., watches, likes, comments,tags, interactions, etc.) a user has with a channel. Scores for theengagements are then divided by the time since the engagement occurredand the divided scores are then summed together to produce the affinityscore between a user and a channel. There may be other factors that arealso included in the affinity score calculation as well.

In one example scenario, if half of a channel's associated users (e.g.,subscribed or otherwise associated) watch half of the channel's contentitems, while the other half of the users watch the other half of thechannel's content items, then the users of the channel may have a loweraffinity score with the channel's content because the users are notengaging with half of the content items of the channel. An increasedaffinity score may benefit a ranking of the channel in terms ofappearance of channel content items in viewer feeds, on a what-to-watchpage, on home pages of the users, and so on.

In one implementation, the channel split suggestion module 210identifies, for a target channel, a set of one or more result channels.In order to identify the one or more result channels, the channel splitsuggestion module 210 may determine a set of users of the targetchannel, and then map the users to a set of content items of that targetchannel that the users have watched. The channel split suggestion module210 may access logs of the data store 106, such as content item data290, user data 291, channel data 292, subscription data 293, and feeddata 294 to make the target channel split determination. In someimplementations, the channel split suggestion module 210 may execute asa “continuous scanner”, running an assessment over all new incoming datato the data store 106 and incorporating the new assessment into astanding model maintained by the channel split suggestion module 210.

In one implementation, a clustering analysis may be used to cluster(e.g., group based on similarities) users together based on the users'likelihood of having watched the same or similar sets of content itemsfrom that channel. Cluster analysis may refer to the task of grouping aset of objects in such a way that objects in the same group (called acluster) are more similar (in some sense or another) to each other thanto those in other groups (clusters). Various different algorithms may beused to achieve cluster analysis. If, after applying the clusteringanalysis, a target channel has one dominant cluster, this suggests thatmost users of the target channel watch the same set of content items onthe target channel, and, as such, that target channel is not a goodcandidate for splitting. However, if a target channel has two or morelarge viewership clusters, the target channel can be a good candidatefor splitting.

In one implementation, a threshold assessment is applied to theresulting clusters of users to determine whether the clusters trigger asplitting suggestion. For example, if a number of users in a clusterexceeds a predetermined number of users and/or if a percentage of users(in terms of the total number of subscribed users to the target channel)exceeds a predetermined percentage of users, then the splittingsuggestion may be triggered for the target channel.

When a target channel is determined to be a good candidate forsplitting, the channel split suggestion module 210 suggests to thechannel owner that the target channel be split. In one implementation,the channel split UI module 230 may recommend to the channel owner thatthe target channel be split based on the distribution of users over thetarget channel content that the users consume, as described above. Thechannel split UI module 230 may provide controls (e.g., UI interfaceelements) for the channel owner to split the target channel and controlsto inform the channel splitting module 220 on how to distributesubscribing users of the target channel among the result channels. Whenthe channel owner indicates, via the controls of the UI provided by thechannel split UI module 230, that a target channel is to be split, thechannel splitting module 220 handles the creation of the new resultchannels, and distribution of users and content items among the newresult channels.

In some implementations, the target channel split may be performedaccording to the suggestions provided by the channel split suggestionmodule 210. In other implementations, the target channel split may beperformed according to explicit directives and parameters provided bythe channel owner. For example, the channel owner may explicit identifycontent items of the target channel to associate with the resultingchannels.

The channel splitting module 220 may reuse the existing target channelas one of the result channels, or the channel splitting module 220 maycreate entirely new result channels, and either discard, archive, ormaintain the target channel. The channel splitting module 220 may alsoidentify the content items from the target channel to be syndicated toeach of the result channels. This might be chosen by the user, automatedbased on the distribution of users who watch each content item, or basedon existing curations of the content items, such as playlists. In someimplementations, a content item might be associated with both of theresulting channels.

The channel splitting module 220 may also identify the set of usersand/or subscribers to add to each of the result channels. In someimplementations, all of the subscribing users from the target channelare added and/or subscribed to each of the result channels. In otherimplementations, the channel splitting module 220 identifies the subsetof users of the target channel to add to each result channel based onthe content items that each of the users has consumed (e.g., viewed) andthe result channel that such content items are to be distributed.

The channel splitting module 220 may notify the users of the new resultchannels of the corresponding subscriptions to those results channels.In some implementations, the user is automatically subscribed to thecorresponding result channels. The user may be notified on the automaticsubscription and provided an opportunity to decline the subscription, aswell. In other implementations, authorization from the user is requestedfor the new subscriptions. In addition, the channel splitting module 220may provide an opportunity to the users to subscribe to the other resultchannels to which the users have not been subscribed automatically.

The channel splitting module 220 may then update feeds of the subscribedusers by removing the old feed items from the target channel andreplacing these feed items with the corresponding new feed items fromthe result channels that the users are now subscribed. In addition, thechannel split UI module 230 may associate formatting and other UIelements with each of the result channels, including, but not limitedto, providing a name, profile avatar, banners, and other formatting toeach of the result channels. The channel owner may interact with channelsplit UI module 230 in order to provide input for formatting each resultchannel.

FIG. 3 is a flow diagram illustrating a method 300 for suggesting asplit of a target channel according to some implementations of thedisclosure. The method 300 may be performed by processing logic thatcomprises hardware (e.g., circuitry, dedicated logic, programmablelogic, microcode, etc.), software (e.g., instructions run on aprocessing device to perform hardware simulation), or a combinationthereof.

For simplicity of explanation, the methods of this disclosure aredepicted and described as a series of acts. However, acts in accordancewith this disclosure can occur in various orders and/or concurrently,and with other acts not presented and described herein. Furthermore, notall illustrated acts may be required to implement the methods inaccordance with the disclosed subject matter. In addition, those skilledin the art will understand and appreciate that the methods couldalternatively be represented as a series of interrelated states via astate diagram or events. Additionally, it should be appreciated that themethods disclosed in this specification are capable of being stored onan article of manufacture to facilitate transporting and transferringsuch methods to computing devices. The term “article of manufacture,” asused herein, is intended to encompass a computer program accessible fromany computer-readable device or storage media. In one implementation,method 300 may be performed by channel split component 140 as shown inFIGS. 1 and 2.

Referring to FIG. 3, method 300 begins at block 310 when identificationis received of a target channel for cluster analysis related to channelsplitting. In one implementation, the cluster analysis is performed fortarget channels on a continuous basis, utilizing a standing model ofexisting user and channel log data that is updated based on any new logdata received for the user and channels of the content sharing platform.At block 320, users that correspond to the target channel areidentified. The users may be the subscribed users to the target channel.

Then, at block 330, the identified users are mapped to content items ofthe cluster corresponding to the users. At block 340, the users aregrouped into one or more clusters based on a likelihood of the users ina cluster having watched the same or similar set of content items of thetarget channel. This grouping utilizes the mapping performed at block330.

Subsequently, at decision block 350, it is determined whether more thanone cluster resulted from the grouping at block 340. If not, method 300proceeds to block 380 where it is determined that the target channel isnot a good candidate for channel splitting. On the other hand, if thereis more than one cluster, then method 300 continues to decision block360, where it is determined whether each of the resulting clusters meetspre-determined threshold conditions for the clusters. For example, thethreshold conditions may include a predetermined number of users thatthe clusters should meet and/or exceed. The threshold conditions mayalso include a percentage of users (in terms of the total number ofsubscribed users to the target channel) that the clusters should meetand/or exceed. If the threshold conditions are not met, then method 300proceeds to block 380, described above.

On the other hand, if the threshold conditions are met by the resultingclusters at decision block 360, then method 300 may continue to block370. At block 370, the target channel is considered to be a goodcandidate for channel splitting, and the channel owner is notified witha suggestion to split the target channel.

FIG. 4 is a flow diagram illustrating a method 400 for splitting atarget channel, according to an implementation of the disclosure. Themethod 400 may be performed by processing logic that comprises hardware(e.g., circuitry, dedicated logic, programmable logic, microcode, etc.),software (e.g., instructions run on a processing device to performhardware simulation), or a combination thereof. In one implementation,method 400 may be performed by channel split component 140 as shown inFIGS. 1 and 2.

Referring to FIG. 4, method 400 begins at block 410 when a notificationfrom a channel owner of a target channel is received. In oneimplementation, the notification includes instructions from the channelowner to proceed with splitting the target channel per a channelsplitting suggestion provided by the content sharing platform, such asthe channel splitting suggestion provided by method 300 described withrespect to FIG. 3. In other implementations, the channel owner mayinitiate the channel splitting operation independent from a channelsplitting suggestion.

At block 420, a set of result channels are identified. The resultchannels may correspond to a number of clusters identified by a channelsplitting clustering analysis performed with respect to the targetchannel. For example, the channel splitting cluster analysis describedwith respect to method 300 of FIG. 3 may produce one or more clusterscorresponding to a target channel. These clusters may each representresult channels for the target channel.

At block 430, content items from the target channel are identified tosyndicate to each of the result channels. In one implementation, thecontent items used to cluster the users of the target channel via theclustering analysis are correlated to and syndicated to the resultchannels. Then, at block 440, a set of subscribed users is identified toadd to each result channel. Similar to the content items, the sets ofusers grouped together according to the cluster analysis of the targetchannel are correlated and added to the corresponding result channel. Insome implementations, the users are also automatically subscribed totheir corresponding result channels.

Subsequently, at block 450, feeds of the subscribed users are updated toreflect the result channels that the users were added to. In oneimplementation, old feed items from the target channel are removed fromthe user feeds and replaced with corresponding new feed items from theresult channels that the users are now subscribed. Lastly, at block 460,each of the result channels are formatted for viewing purposes. Forexample, UI elements are configured for each of the result channels,where the UI elements may include, but are not limited to, providing aname, profile avatar, banners, and other formatting to each of theresult channels. The channel owner may interact with the content sharingplatform to provide input for formatting each result channel.

FIG. 5 is a flow diagram illustrating a method 500 for interacting witha channel owner of a target channel at a client device with respect tosplitting the target channel, according to an implementation of thedisclosure. The method 500 may be performed by processing logic thatcomprises hardware (e.g., circuitry, dedicated logic, programmablelogic, microcode, etc.), software (e.g., instructions run on aprocessing device to perform hardware simulation), or a combinationthereof. In one implementation, method 500 may be performed by clientdevice 110A-110Z, as shown in FIGS. 1 and 2.

Referring to FIG. 5, method 500 begins at block 510 when a suggestion tosplit a target channel is received via a GUI of a client device of achannel owner of the target channel. In one implementation, the clientdevice is a mobile device. The target channel may include a plurality ofcontent items of a content sharing platform. In some implementation, achannel owner may also be referred to as an owning user. At block 520,input from the channel owner of the target channel is facilitated viathe GUI. In one implementation, the input includes an instruction tosplit the target channel per the suggestion.

Subsequently, at block 530, the channel owner is notified, via the GUI,of a plurality of result channels derived from splitting the targetchannel. In one implementation, each of the plurality of result channelsincludes a subset of the plurality of content items of the targetchannel. At block 540, input from the channel owner is facilitated, viathe GUI, where the input corresponds to one or more of the plurality ofcontent items of the target channel to syndicate to each of the resultchannels. Lastly, at block 550, additional input from the channel owneris facilitated, via the GUI, where the additional input specifies UIelements to format each of the result channels.

FIG. 6 illustrates a diagrammatic representation of a machine in theexemplary form of a computer system 600 within which a set ofinstructions, for causing the machine to perform any one or more of themethodologies discussed herein, may be executed. In alternativeimplementations, the machine may be connected (e.g., networked) to othermachines in a LAN, an intranet, an extranet, or the Internet. Themachine may operate in the capacity of a server or a client machine inclient-server network environment, or as a peer machine in apeer-to-peer (or distributed) network environment. The machine may be apersonal computer (PC), a tablet PC, a set-top box (STB), a PersonalDigital Assistant (PDA), a cellular telephone, a web appliance, aserver, a network router, switch or bridge, or any machine capable ofexecuting a set of instructions (sequential or otherwise) that specifyactions to be taken by that machine. Further, while only a singlemachine is illustrated, the term “machine” shall also be taken toinclude any collection of machines that individually or jointly executea set (or multiple sets) of instructions to perform any one or more ofthe methodologies discussed herein.

The exemplary computer system 600 includes a processing device(processor) 602, a main memory 604 (e.g., read-only memory (ROM), flashmemory, dynamic random access memory (DRAM) such as synchronous DRAM(SDRAM) or Rambus DRAM (RDRAM), etc.), a static memory 606 (e.g., flashmemory, static random access memory (SRAM), etc.), and a data storagedevice 618, which communicate with each other via a bus 608.

Processor 602 represents one or more general-purpose processing devicessuch as a microprocessor, central processing unit, or the like. Moreparticularly, the processor 602 may be a complex instruction setcomputing (CISC) microprocessor, reduced instruction set computing(RISC) microprocessor, very long instruction word (VLIW) microprocessor,or a processor implementing other instruction sets or processorsimplementing a combination of instruction sets. The processor 602 mayalso be one or more special-purpose processing devices such as anapplication specific integrated circuit (ASIC), a field programmablegate array (FPGA), a digital signal processor (DSP), network processor,or the like. The processor 602 is configured to execute instructions 626for performing the operations and steps discussed herein.

The computer system 600 may further include a network interface device622. The computer system 600 also may include a video display unit 610(e.g., a liquid crystal display (LCD), a cathode ray tube (CRT), or atouch screen), an alphanumeric input device 612 (e.g., a keyboard), acursor control device 614 (e.g., a mouse), and a signal generationdevice 620 (e.g., a speaker).

The data storage device 618 may include a computer-readable storagemedium 624 on which is stored one or more sets of instructions 626(e.g., software) embodying any one or more of the methodologies orfunctions described herein. The instructions 626 may also reside,completely or at least partially, within the main memory 604 and/orwithin the processor 602 during execution thereof by the computer system600, the main memory 604 and the processor 602 also constitutingcomputer-readable storage media. The instructions 626 may further betransmitted or received over a network 674 via the network interfacedevice 622.

In one implementation, the instructions 626 include instructions for achannel split component 140, which may correspond, respectively, totheir identically-named counterparts described with respect to FIGS. 1and 2, and/or a software library containing methods for splittingchannels of content sharing platform. While the computer-readablestorage medium 624 is shown in an exemplary implementation to be asingle medium, the term “computer-readable storage medium” should betaken to include a single medium or multiple media (e.g., a centralizedor distributed database, and/or associated caches and servers) thatstore the one or more sets of instructions. The term “computer-readablestorage medium” shall also be taken to include any medium that iscapable of storing, encoding or carrying a set of instructions forexecution by the machine and that cause the machine to perform any oneor more of the methodologies of the present disclosure. The term“computer-readable storage medium” shall accordingly be taken toinclude, but not be limited to, solid-state memories, optical media, andmagnetic media.

In the foregoing description, numerous details are set forth. It will beapparent, however, to one of ordinary skill in the art having thebenefit of this disclosure, that the present disclosure may be practicedwithout these specific details. In some instances, well-known structuresand devices are shown in block diagram form, rather than in detail, inorder to avoid obscuring the present disclosure.

Some portions of the detailed description have been presented in termsof algorithms and symbolic representations of operations on data bitswithin a computer memory. These algorithmic descriptions andrepresentations are the means used by those skilled in the dataprocessing arts to most effectively convey the substance of their workto others skilled in the art. An algorithm is here, and generally,conceived to be a self-consistent sequence of steps leading to a desiredresult. The steps are those requiring physical manipulations of physicalquantities. Usually, though not necessarily, these quantities take theform of electrical or magnetic signals capable of being stored,transferred, combined, compared, and otherwise manipulated. It hasproven convenient at times, principally for reasons of common usage, torefer to these signals as bits, values, elements, symbols, characters,terms, numbers, or the like.

It should be borne in mind, however, that all of these and similar termsare to be associated with the appropriate physical quantities and aremerely convenient labels applied to these quantities. Unlessspecifically stated otherwise as apparent from the following discussion,it is appreciated that throughout the description, discussions utilizingterms such as “segmenting”, “analyzing”, “determining”, “enabling”,“identifying,” “modifying” or the like, refer to the actions andprocesses of a computer system, or similar electronic computing device,that manipulates and transforms data represented as physical (e.g.,electronic) quantities within the computer system's registers andmemories into other data similarly represented as physical quantitieswithin the computer system memories or registers or other suchinformation storage, transmission or display devices.

The disclosure also relates to an apparatus for performing theoperations herein. This apparatus may be specially constructed for therequired purposes, or it may include a general purpose computerselectively activated or reconfigured by a computer program stored inthe computer. Such a computer program may be stored in a computerreadable storage medium, such as, but not limited to, any type of diskincluding floppy disks, optical disks, CD-ROMs, and magnetic-opticaldisks, read-only memories (ROMs), random access memories (RAMs), EPROMs,EEPROMs, magnetic or optical cards, or any type of media suitable forstoring electronic instructions.

The words “example” or “exemplary” are used herein to mean serving as anexample, instance, or illustration. Any aspect or design describedherein as “example’ or “exemplary” is not necessarily to be construed aspreferred or advantageous over other aspects or designs. Rather, use ofthe words “example” or “exemplary” is intended to present concepts in aconcrete fashion. As used in this application, the term “or” is intendedto mean an inclusive “or” rather than an exclusive “or”. That is, unlessspecified otherwise, or clear from context, “X includes A or B” isintended to mean any of the natural inclusive permutations. That is, ifX includes A; X includes B; or X includes both A and B, then “X includesA or B” is satisfied under any of the foregoing instances. In addition,the articles “a” and “an” as used in this application and the appendedclaims should generally be construed to mean “one or more” unlessspecified otherwise or clear from context to be directed to a singularform. Moreover, use of the term “an embodiment” or “one embodiment” or“an implementation” or “one implementation” throughout is not intendedto mean the same embodiment or implementation unless described as such.

Reference throughout this specification to “one embodiment” or “anembodiment” means that a particular feature, structure, orcharacteristic described in connection with the embodiment is includedin at least one embodiment. Thus, the appearances of the phrase “in oneembodiment” or “in an embodiment” in various places throughout thisspecification are not necessarily all referring to the same embodiment.In addition, the term “or” is intended to mean an inclusive “or” ratherthan an exclusive “or.”

It is to be understood that the above description is intended to beillustrative, and not restrictive. Many other embodiments will beapparent to those of skill in the art upon reading and understanding theabove description. The scope of the disclosure should, therefore, bedetermined with reference to the appended claims, along with the fullscope of equivalents to which such claims are entitled.

What is claimed is:
 1. A method comprising: identifying, by a processingdevice, result channels originating from a target channel, wherein eachof the result channels corresponds to a set of users of the targetchannel that view a similar set of content items from the targetchannel; and for each of the result channels: subscribing, by theprocessing device to the result channel, the set of users thatcorresponds to the result channel; and associating, by the processingdevice to the result channel, the set of the content items of the targetchannel that corresponds to the subscribed set of users of the resultchannel.
 2. The method of claim 1, wherein the result channels and thetarget channel are provided by a content sharing platform.
 3. The methodof claim 1, wherein the identifying further comprises: mapping the usersof the target channel to the content items of the target channel thatthe users have viewed; grouping the users into the sets of users in viewof a probability that the users viewed the similar set of the contentitems; and when each of the grouped sets of users exceeds a thresholdlevel of users, correlating each of the grouped sets of users to acorresponding one of the result channels.
 4. The method of claim 3,wherein the threshold level of users comprises at least a number ofusers or a percentage of users.
 5. The method of claim 1, furthercomprising, for each result channel, updating feeds of the correspondingset of users of the result channel to reflect the result channel.
 6. Themethod of claim 5, wherein the updating further comprises, for each userof the set of users: removing feed items corresponding to the targetchannel; and replacing the feed items corresponding to the targetchannel with feed items of the result channel.
 7. The method of claim 1,wherein the identifying further comprising: suggesting to an owner ofthe target channel that the target channel be split into the resultchannels; and receiving confirmation from the owner to proceed withsplitting the target channel into the result channels.
 8. The method ofclaim 1, further comprising, for each result channel, automaticallygenerating a user interface (UI) for the result channel utilizing UIelements of the target channel, wherein at least a portion of the UIelements correspond to the set of content items corresponding to theresult channel.
 9. The method of claim 1, wherein the sets of contentitems corresponding to result channels at least partially overlap. 10.The method of claim 1, wherein the target channel comprises contentitems having at least one of a common topic, theme, or substance. 11.The method of claim 1, wherein the target channel comprises contentitems having a common source.
 12. An apparatus comprising: a displaydevice; a memory communicably coupled to the display device; and aprocessing device communicably coupled to the memory, the processingdevice to execute instructions to: identify result channels originatingfrom a target channel, wherein each of the result channels correspondsto a set of users of the target channel that view a similar set ofcontent items from the target channel; and for each of the resultchannels: subscribe, to the result channel, the set of users thatcorresponds to the result channel; and associate, to the result channel,the set of the content items of the target channel that corresponds tothe subscribed set of users of the result channel.
 13. The apparatus ofclaim 12, wherein the processing device to identify the result channelsfurther comprises the processing device to: map the users of the targetchannel to the content items of the target channel that the users haveviewed; group the users into the sets of users in view of a probabilitythat the users viewed the similar set of the content items; and wheneach of the grouped sets of users exceeds a threshold level of users,correlate each of the grouped sets of users to a corresponding one ofthe result channels; wherein the threshold level of users comprises atleast a number of users or a percentage of users.
 14. The apparatus ofclaim 12, wherein the processing device further to, for each resultchannel, update feeds of the corresponding set of users of the resultchannel to reflect the result channel.
 15. The apparatus of claim 12,wherein the processing device to identify the result channels furthercomprises the processing device to: suggest to an owner of the targetchannel that the target channel be split into the result channels; andreceive confirmation from the owner to proceed with splitting the targetchannel into the result channels.
 16. The apparatus of claim 12, whereinthe processing device further to, for each result channel, automaticallygenerate a user interface (UI) for the result channel utilizing UIelements of the target channel, wherein at least a portion of the UIelements correspond to the set of content items corresponding to theresult channel.
 17. The apparatus of claim 12, wherein the resultchannels and the target channel are provided by a content sharingplatform, and wherein the target channel comprises content items of thecontent sharing platform having at least one of a common topic, theme,substance, or source.
 18. A non-transitory machine-readable storagemedium storing instructions which, when executed, cause a processingdevice to perform operations comprising: identifying, by a processingdevice, result channels originating from a target channel, wherein eachof the result channels corresponds to a set of users of the targetchannel that view a similar set of content items from the targetchannel; and for each of the result channels: subscribing, by theprocessing device to the result channel, the set of users thatcorresponds to the result channel; and associating, by the processingdevice to the result channel, the set of the content items of the targetchannel that corresponds to the subscribed set of users of the resultchannel.
 19. The non-transitory machine-readable storage medium of claim18, wherein the identifying further comprises: mapping the users of thetarget channel to the content items of the target channel that the usershave viewed; grouping the users into the sets of users in view of aprobability that the users viewed the similar set of the content items;and when each of the grouped sets of users exceeds a threshold level ofusers, correlating each of the grouped sets of users to a correspondingone of the result channels; wherein the threshold level of userscomprises at least a number of users or a percentage of users.
 20. Thenon-transitory machine-readable storage medium of claim 18, wherein theidentifying further comprising: suggesting to an owner of the targetchannel that the target channel be split into the result channels; andreceiving confirmation from the owner to proceed with splitting thetarget channel into the result channels.
 21. The non-transitorymachine-readable storage medium of claim 18, further comprising, foreach result channel, automatically generating a user interface (UI) forthe result channel utilizing UI elements of the target channel, whereinat least a portion of the UI elements correspond to the set of contentitems corresponding to the result channel.
 22. The non-transitorymachine-readable storage medium of claim 18, wherein the result channelsand the target channel are provided by a content sharing platform, andwherein the target channel comprises content items of the contentsharing platform having at least one of a common topic, theme,substance, or source.
 23. A method comprising: receiving, via agraphical user interface (GUI) of a mobile device, a suggestion to splita target channel comprising a plurality of content items; facilitating,via the GUI, input from an owning user of the target channel, the inputcomprising an instruction to split the target channel per thesuggestion; and notifying, via the GUI, the owning user of the targetchannel of a plurality of result channels derived from splitting thetarget channel, each of the plurality of result channels comprising asubset of the plurality of content items.
 24. The method of claim 23,further comprising facilitating, via the GUI, input from the owning usercorresponding to one or more content items of the target channel tosyndicate to each of the result channels.
 25. The method of claim 23,further comprising facilitating, via the GUI, input from the owninguser, the input specifying user interface (UI) elements to format eachof the result channels.